1. Technical Field
The present disclosure relates to a countermeasure method for protecting sensitive data circulating in an electronic microcircuit, against attacks aimed to discover these data. It also relates to a microcircuit portable device such as a chip card, implementing the method.
2. Description of the Related Art
Sensitive data may be in particular encryption or decryption keys, and more generally cryptographic data used or elaborated during cryptographic calculations, such as intermediate data of such calculations, and identifiers which must be kept secret.
Microcircuit devices using sensitive data are sometimes subjected to attacks which aim is to determine these data. Among the known attacks, the attacks of SPA (Simple Power Analysis) or DPA (Differential Power Analysis) type consist in taking numerous current and voltage measures coming in and going out of the microcircuit during a program execution or data processing by the microcircuit, with different input data. The measures obtained are used by a statistical analysis to deduce therefrom protected data, processed or used by the microcircuit. For the same aim, the attacks of EMA (Electromagnetic Analysis) and DEMA (Differential Electromagnetic Analysis) type are based on the analysis of the electromagnetic radiation emitted by the microcircuit.
Attacks by fault injection are also known, which consist in introducing disturbances into the microcircuit when it executes for example sensitive algorithms such as cryptographic algorithms, or which aim is to trigger the execution of a downloading routine emitting on a port the data it memorizes. Such disturbance may be made by applying to the microcircuit one or more brief lightings for example a laser beam, or one or more voltage peaks to one of the contacts thereof.
So as to fight against these attacks, which are various by nature, numerous solutions, very different from one another, have been brought. The disclosure more particularly relates to those that aim to protect data circulating in a microcircuit.
Various countermeasure techniques have been implemented so as to fight against these attacks. Thus, it is known to perform a logic masking by random number consisting in making random data pass through the logic circuits so as to cause logic gates which are not linked to the data to be protected to switch. It is also known to introduce random delays into a synchronous circuit or to implement double rail techniques making it possible to perform as many logic gates switching to 0 as switching to 1.
All these countermeasure techniques reveal to be demanding in terms of circuit size, computing speed and electrical consumption. In addition, if these techniques allow the robustness of circuits against attacks to be improved, they have faults.